413-arithmetic-slices.py
problem: ---
problem:

An integer array is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the same.
For example, [1,3,5,7,9], [7,7,7,7], and [3,-1,-5,-9] are arithmetic sequences.
Given an integer array nums, return the number of arithmetic subarrays of nums.
A subarray is a contiguous subsequence of the array.

Example 1:
Input: nums = [1,2,3,4]
Output: 3
Explanation: We have 3 arithmetic slices in nums: [1, 2, 3], [2, 3, 4] and [1,2,3,4] itself.

Example 2:
Input: nums = [1]
Output: 0

Constraints:
1 <= nums.length <= 5000
-1000 <= nums[i] <= 1000
---

-----------------------------------------------------------------------
bug_fixes: ---
bug_fixes:
Replace `<=` with `<` on line 3.
Replace `nums[0] - nums[1]` with `float('inf')` on line 5.
---

-----------------------------------------------------------------------
bug_desc: ---
bug_desc:

---

-----------------------------------------------------------------------
line_no: ---
line_no:
3
---

-----------------------------------------------------------------------
buggy_code: ---
buggy_code:
1. class Solution:
2.     def numberOfArithmeticSlices(self, nums: List[int]) -> int:
3.         if len(nums) <= 3:
4.             return 0
5.         
6.         diff =  nums[0] - nums[1] 
7.         ap_arrays = cur_length = 0
8.         
9.         for index in range(1, len(nums)):
10.             if nums[index] - nums[index-1] == diff:
11.                 cur_length += 1
12.             else:
13.                 diff = nums[index] - nums[index-1]
14.                 cur_length = 2
15.             
16.             if cur_length >= 2:
17.                 ap_arrays += (cur_length - 2)
18.         
19.         return ap_arrays
20. 
---

-----------------------------------------------------------------------
correct_code: ---
correct_code:
1. class Solution:
2.     def numberOfArithmeticSlices(self, nums: List[int]) -> int:
3.         if len(nums) < 3:
4.             return 0
5.         
6.         diff =  float('inf') 
7.         ap_arrays = cur_length = 0
8.         
9.         for index in range(1, len(nums)):
10.             if nums[index] - nums[index-1] == diff:
11.                 cur_length += 1
12.             else:
13.                 diff = nums[index] - nums[index-1]
14.                 cur_length = 2
15.             
16.             if cur_length >= 2:
17.                 ap_arrays += (cur_length - 2)
18.         
19.         return ap_arrays
20. 
---

-----------------------------------------------------------------------
